Part Number Hot Search : 
SD4505 LT1228C MIW3046 TLP3033S 7D471 MSK5030 AN7818F 69112671
Product Description
Full Text Search
 

To Download AN610 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  rev. 0.3 3/13 copyright ? 2013 by silicon laboratories AN610 AN610 si48 xx atdd p rogramming g uide 1. introduction 1.1. scope this document provides an overview of the programmi ng requirements for the si4822/26/27/40/44 analog tune digital display (atdd) am/fm/sw receiver. the hardware control interface and software commands are detailed along with several examples of the required steps to configure the device for va rious modes of operation. 2. overview the si4822/26/27/40/44 family of pro ducts is programmed using commands and responses. to perform an action, the system controller writes a command byte and associat ed arguments, causing the de vice to execute the given command. the device will, in turn, pr ovide a response depending on the ty pe of command that was sent. section ?6. commands and responses? and section ?7. commands and properties? describe the procedures for using commands and responses and provide complete lists of commands, properties, and responses. the device has a slave control interface that allows the system controller to send commands to and receive responses from the device using 2-wire mode (i 2 c and smbus compatible) serial protocol (or bus modes). the following sections provide guidelines for programming the atdd device: ?? section "4. atdd device overview" on page 4 gives an overview of the atdd device. ?? section "5. atdd device power on/off and band swit ch overview" on page 7 gives an overview of the power on / off and the band switchi ng sequencing for the atdd device. ?? section "8. control interface" on page 55 describes the control interface in details. ?? section "9. powerup" on page 58 describes the options for the sequencing of vdd and vio power supplies, provision of the reference clock, rc lk, and sending of the atdd_power_up command. ?? section "10. powerdown" on page 59 describes sending of the power_down command and removing vdd and vio power supplies as necessary. ?? section "11. programming example" on page 60 provides the flowcharts and step-by-step procedures for programming the device. note: the atdd family has its own power up and getting status commands which are different from previous si47xx dtdd family. to differentiate, we use ?atdd_power_up? and atdd_get_status to denote the atdd specific commands instead of the general si47xx ?power_up? and ?status? commands.
AN610 2 rev. 0.3 table 1. product family function part number general description fm receiver am receiver sw receiver stereo fm wide fm bands wide sw bands china tv channel audio en55020 compliance package size si4822 am/fm receiver ?? ssop-24 si4826 am/sw/fm receiver ??? ssop-24 si4827 am/sw/fm receiver ??? ??? soic-16 si4840 am/fm receiver ?? ? ? ssop-24 si4844a* am/sw/fm receiver ???? ? ssop-24 si4844b* am/sw/fm receiver ???????? ssop-24 *note: new features have been added to si 4844-b20 that are not available in the older si4844-a10 part.
AN610 rev. 0.3 3 3. terminology ?? dtdd? digital tune digital display ?? atdd? analog tune digital display ?? atad? analog tune analog display ?? sdio? 2-wire bus mode serial data in/data out pin (compatible to i 2 c sda pin) ?? sclk? 2-wire bus mode serial clock pin (compatible i 2 c scl pin) ?? rst or rstb?reset pin, active low ?? irq? interrupt request pin, active high ?? rclk?external reference clock ?? cts?clear to send ?? nvm?non-volatile inte rnal device memory ?? device?refers to the am/fm/sw receiver ?? system controller?refers to the system microcontroller ?? cmd?command byte ?? commandn?command register (16-bit) in 3-wire mode (n = 1 to 4) ?? argn?argument byte (n = 1 to 7) ?? status?status byte ?? respn?respons e byte (n = 1 to 15) ?? responsen?response register (16-bi t) in 3-wire mode (n = 1 to 8)
AN610 4 rev. 0.3 4. atdd device overview the si4822/26/27/40/44 devices are the tuner ics for the analog tune digital display (atdd) market. the si4822/ 26/27 are the consumer grade fm mono parts and are not en55020 compliance. in general, any commands and properties associated wit h setting fm stereo/mono modes and fm blending sent to the atdd mono parts will simply be ignored and will not have effects. al so, the commands for getting the fm stereo status of a tuned channel is a lways "mono" for these parts. this effect will not be specified again in the rest of the document. the atdd device has two operating modes of band dete ction configuration options: either the atdd device detects the band or the system controller detects and controls the band by its own mechanism. the diagrams below illustrate how the atdd de vice works in each mode. figure 1. atdd device is responsible for band detection figure 2. system controller is responsible for band detection each of these two operating modes requires different hardware configuration. for the atdd device, the band pin of the device must be co nnected to the band switch resistor or to the power supply pin instead, i.e. vdd1 for si4822/26/40/44 and vdd for si4827. at power up, the system controller is required to read the band configuration state bits from the atdd device and determine which co nfiguration option is responsible for the band detection. the atdd device is a slave device which requires a host syst em controller to co ntrol it, similar to the si47xx dtdd family. the communication between the host and the salv e devices is via the 2-wire bus mode. unlike the si47xx dtdd devices, the atdd device has its own pvr based tune wheel and resistor ladder based band switch. the atdd device reads the band switch re sistor ladder to determine the frequency band and then reads the pvr tune wheel position for channel tuning. when the atdd device senses a change in either the pvr tune wheel position or the band switch position, it will send out an interrupt request to the host system contro ller. the system controller then issues a get status command to read the updated tu ned frequency and band status for display on its lcd or led. the communication interface between the system controller and the atdd device is the 2-wire bus mode interface. the hardware interface pins of the at dd device are described in table 2: ? host ? mcu ? (master) ? atdd ? tuner ? (slave) ? rstb ? irq ? sclk ? sdio ? pvr ? tune ? wheel ? ? band ? switch ? resistor ? ladder ? ? host ? mcu ? (master) ? atdd ? tuner ? (slave) ? rstb ? irq ? sclk ? sd io ? pvr ? tune ? wheel ? ? fm ? am ? band ? select ? vdd1 ? ?
AN610 rev. 0.3 5 the atdd device is a slave device and its seven-bit de vice address is (0010001b). to achieve acceptable or higher tune frequency update performance, the system controller 2- wire bus mode clock speed of 10 khz* or higher is recommended. the atdd device requires a 32.768 khz clock supply of 100 ppm for proper radio operation. the system controller can configure the atdd de vice by applying an external reference clock to the device (various frequencies can be selected ) or by using a 32.768 khz crystal instead. the atdd device has flexibility in se lecting bands and configuring band pr operties, such as band top, band bottom, and channel spacing. in addition, the si4822/ 26/40/44 ssop24 packaged parts have a pull up resistor option (at pin 1 lna_en) to force the atdd device to use its default band properties rather than the values programmed by the system controller. for example, when the atdd device pin 1 is pulled up, it will ignore the band properties programmed by the system controller programmed (band top, band bottom, channel space, fm de-emphasis, and fm blend rssi mono/ste reo thresholds). the system controller is able to read this information from the band configuration state bits from the atdd device. the si4827 soic16 package atdd part doesn't have the pin pull-up option. however, the host controller can send an extra argument byte in the atdd_power_up command to specify this band properties priority. *note: the atdd device requires a slower i 2 c clock for proper powerup immediately after a hardware reset; i.e., no higher than 10 khz is recommended. after the powerup command se quence is succeeded, the host controller can switch to a higher speed. to power up the atdd device for hi gher i2c clock speed, the host controller needs to obey more strict timing requirements as below: 1. after reset, the host controller needs to wait till the first irq pulse is finished before sending a command; i.e. send a command after the irq falling edg e or wait 2.5 ms after the irq rising edge. 2. the pulse width of the i 2 c clock signal (i.e., high to low level ra tio) must be equal or greater than 50%. 3. after sending either the atdd_get_status command 0xe0 or the atdd_power_up command 0xe1, the host controller needs to wait for 2 ms before polling response byte cts bit or r eading the response directly. following the above timing requirements, the atdd devic e is tested by powering up successfully for i 2 c clock speed up to 50 khz. clock speed higher than 50 khz is po ssible but is not guaranteed. after reset and the first successful powerup, the ho st controller is free to switch to a higher i 2 c speed and shorter cts polling interval (down to 50 s is recommended). customers using 10 khz i 2 c clock speed or below for powerup are not required to change their existing host controller firmware with respect to the new timing requirements. table 2. atdd device hardware interface pin name function rstb device reset input (active low) irq host interrupt requ est output (active high) sdio 2-wire bus mode serial data input/output sclk 2-wire bus mode serial clock input (note: atdd device is slave)
AN610 6 rev. 0.3 figure 3. system controller powerup timings for i 2 c speed > 10 khz
AN610 rev. 0.3 7 5. atdd device power on/off and band switch overview the power on and band switching sequences of the atdd device vary based on which band detection configuration is selected. 5.1. band detection by atdd device figure 4. band detection by atdd device the atdd device is responsible for detecting the band via its internal adc, which is connected to the external resistor ladder band switch. when the device detects the band switch positi on is changed, it will interrupt the host system controller via the irq pin. the system controller issu es a get status command to obtain the updated status, which includes the new band position and the required action. the required action depends on whether the band is switched within the same band mode (e.g., fm1 ? fm5) or switched across different band modes (e.g., fm5 ? am1). for situations when the band is switched within the same band mode, the system controller is requested to re- issue the power up command with the new band number, optiona lly with band properties other than the predefined ones. for situations when the band is switched across different band modes, the system controller is requested to reset the atdd device and wait until the device is ready again, then issue the same power up command with the new band number and optional band properties. 5.1.1. power on sequence 1. system controller resets the atdd device and releases the rstb pin. 2. system controller waits till first irq is receiv ed (indicates that the atdd dev ice is ready to receive commands). 3. system controller issues atdd_get_status comma nd to obtain the atdd device status. the system controller is required to check in the reply from the bcfg0 bit to determine if the atdd device or the system controller is responsible for band detection and selection. in this case, the bcfg0 bit should be 0 (i.e., the atdd device detects band). note that the hostpwrup bit is always set, which prompts the system controller to issue the atdd_ power_up command. band and tune information are not ready in this power up stage. 4. system controller issues atdd_ power_up command with the bulleted arguments below to power up the device: ?? for first power up, set arg1 bit[5:0] bandidx = 0 as host doesn?t know the actual band number. ?? set arg1 bit[7] xosen bit = 1 if a 32.768 khz crystal is in use. set arg1 bit[6] xowa it bit =0 if typical 600 ms crystallization time is enough or set the xowait bit = 1 for a longer time of 900 ms. ?? optionally include arg2 arg3 * if new band bottom frequency is different from default. ?? optionally include arg4 arg5 * if new band top frequency is different from default. ?? optionally include arg6 * if new band channel space is different from default (am only). ?? optionally include arg7 for new features of si4827 and si4844b devices. 5. system controller waits till irq is rece ived again when the va lid band is detected. 6. system controller issues atdd_get_sta tus command to obtain the latest status: ?? if reply0 bit[4] infordy bit = 1, i.e. band info re ady, the host is required to save the band index in reply1bit[5:0] bandidx for later use. ?? host checks reply0 bit[7] hostrst bit and bit[6] hostpowerup bit for any host required actions and handles it accordingly. ?? if hostpowerup bit = 1, i.e., band sw itching is within same band mode, the host is required to issue the ? host ? mcu ? (master) ? atdd ? tuner ? (slave) ? rstb ? irq ? sclk ? sdio ? pvr ? tune ? wheel ? ? band ? switch ? resistor ? ladder ?
AN610 8 rev. 0.3 atdd_power_up command again with the known band index to switch to the correct band. ?? if hostrst bit = 1, i.e., band switching is across differ ent band modes, the host is required to reset the atdd device and wait for irq received, and then issue the atdd_power_up command again with the known band index. 7. system controller waits till further irq is received for the tune wheel frequency ready. 8. system controller issues atdd_get_status co mmand to obtain the latest status for display: ?? if reply0 bit[4] infordy, bit = 1, i.e., info ready, the host can read and display the status, i.e., the band mode, the station and stereo states. ?? the tune frequency is ready when combined frequency of reply2, reply3 is a non-zero (4-digit bcd number). ?? host should always sa ve the reply1 bit[5:0] bandidx band index byte for later use. 9. optionally system controller can issue the at dd_audio_mode command to specify number of audio options (fm example): ?? audio_mode bits selects one of the audio output modes: (0) digital volume mode, (1) bass/treble mode, (2) bass/treble with volume control mix mode 1, (3) bass/treble wi th volume control mix mode 2 ?? adjpt_attn bit specifies if the 100 khz adjacent po ints have audio output attenuated by 2 db or not. ?? adjpt_steo bit specifies if the 100 khz adjacent points have stereo indicator and stereo separation. ?? fm_mono bit specifies if fm audio ou tput is forced mono or stereo. 10. optionally, the system controller can issue th e set_property command to change the receive volume, bass/treble level, fm de-emphasis, soft-mut e, and banding properties to override the default settings. *note: if pin 1 of si4822/26/40/44 ssop24 packaged atdd devices has been pulled up by the resistor, it is forced to use the default band properties. the band properties specified by the system controller, such as band top, band bottom, channel space, fm de-emphasis, and fm blend rssi mono thresholds, will be ignored and have no effects. 5.1.2. band switch sequence 1. the atdd device detects band is changed and then interrupts the system contro ller when band is switched by user. 2. system controller wait s for any irq is received: 3. system controller issues atdd_get_sta tus command to obtain the latest status: ?? if reply0 bit[4] infordy bit = 1, i.e. band info ready, the host is required to save the band index in reply1 bit[5:0] bandidx for later use. ?? host checks reply0 bit[7] hostrst bit and bit[6] hostpowerup bit for any host required actions and handles it accordingly. ?? if hostpowerup bit = 1, i.e.,band s witching is within same band mode, the host is required to issue the atdd_power_up command again with the known band index to switch to the correct band. ?? if hostrst bit = 1, i.e., band switching is across differ ent band modes, the host is required to reset the atdd device and wait for irq received, and then issue the atdd_power_up command again with the known band index. 4. system controller waits till further irq is received for the tune wheel frequency ready. 5. system controller issues atdd_get_status co mmand to obtain the latest status for display: ?? if reply0 bit[4] infordy bit = 1, i.e. info ready, the host can read and disp lay the status, i.e. the band mode, the station, and stereo states. ?? the tune frequency is ready when combined frequency of reply2, reply3 is non-zero (4-digit bcd number). ?? host should always save thereply1 bit[5:0] bandidx band index byte for later use. 6. optionally, the system controller can issue th e atdd_audio_mode command to select one of the audio output modes: (0) digital volume mode, (1) bass/treble mode, (2) bass/treble with volume control mix mode 1, (3) bass/treble with volume control mix mode 2 (fm example). 7. optionally, the system controller can issue the set_property command to change the receive volume, bass/treble level, fm de-emphasis, soft-mute, and banding properties to override the default settings (fm example).
AN610 rev. 0.3 9 5.1.3. power off sequence 1. system controller can optionally issue the power_down command first to stop device current operations. 2. system controller holds the atdd device rstb pin in low state in power off. the current consumption of the atdd device will be at about 10 a at 3.3 v supp ly. (note that the si47xx dtdd device power_up commands is not supported in t he atdd device; the system controller needs to reset device and issue atdd_power_up command to power up.) 5.2. band detection by system controller figure 5. band detection and control by system controller the system controller is responsible for detecting the band with its own mechanism. the method used to handle band switching on the atdd device depends on whether the system controller wants to switch to the new band within the same band mode (e.g., fm1 ? fm5) or switch it across different band modes (e.g. fm5 ? am1).for example, to switch to a new band within the same band mode, the system controller should re-issue the power up command with the new band number, optionally with band pr operties other than the predefined ones. alternatively, to switch across different band modes, the system controller should reset the at dd device and wait till it is ready again, then issue the same power up command with the new band number with optional band properties. 5.2.1. power on sequence 1. system controller resets the atdd device and releases the rstb pin. 2. system controller waits till first irq is receiv ed (indicates that the atdd dev ice is ready to receive commands). 3. system controller issues atdd_get_status comma nd to obtain the atdd device status. the system controller is required to check in the reply from the bcfg0 bit to determine if the atdd device or the system controller is responsible for band detection and selection. in this case, the bcfg0 bit should be 1 (i.e., host detects band). note that the hostpwrup bi t is always set, which prompts the system controller to issue the atdd_power_up command. band and tune information are not ready in this power up stage. 4. system controller issues atdd_ power_up command with the bulleted arguments below to power up the device: ?? set arg1 bit[5:0] bandidx band index to the desired band number. ?? set arg1 bit[7] xosen bit = 1 if a 32.768 khz crystal is in use. set arg1 bit[6] xowait bit =0 if typical 600 ms crystallization time is enough or set the xowait bit = 1 for a longer time of 900 ms. ?? optionally include arg2 arg3* if new band bo ttom frequency is different from default. ?? optionally include arg4 arg5* if new band top frequency is different from default. ?? optionally include arg6* if new band channel space is different from default (am only). ?? optionally include arg7 for new feat ures of si4827 and si4844b devices. 5. system controller waits till irq is re ceived for the tune wheel frequency ready. 6. system controller issues atdd_get_status co mmand to obtain the latest status for display: ?? if reply0 bit[4] infordy bit = 1, i.e., info ready, the host can read a nd display the status, such as the band mode, the station, and stereo states. ?? the tune frequency is ready when combined frequency of reply2, reply3 is non-zero (4-digit bcd number). 7. optionally, the system controller can issue th e atdd_audio_mode command to specify the number of ? host ? mcu ? (master) ? atdd ? tuner ? (slave) ? rstb ? irq ? scl k ? sdio ? pvr ? tune ? wheel ? ? fm ? am ? band ? select ? vdd1 ? ?
AN610 10 rev. 0.3 audio options (fm example): ?? audio_mode bits selects one of the audio output modes: (0) digital volume mode, (1) bass/treble mode, (2) bass/treble with volume control mix mode 1, (3) bass/treble with volume control mix mode 2. ?? adjpt_ attn bit specifies if the 100 khz adjacent points have audio ou tput attenuated by 2 db or not. ?? adjpt_steo bit specifies if the 100 khz adjacent po ints have stereo indicator and stereo separation. ?? fm_mono bit specifies if fm audio ou tput is forced mono or stereo. 8. optionally, the system controller can issue the set_property command to change the receive volume, bass/treble level, fm de-emphasis, soft-mute, and banding properties to override the default settings. *note: if pin 1 of the si4822/26/40/44 ssop24 packaged atdd devices ha s been pulled up by the resistor, it is forced to use default band properties. the system cont roller-specified band properties (i.e., band top, band bottom, channel space, fm de-emphasis, fm blend rssi mono thresholds) will be ignored and have no effects. 5.2.2. band switch sequence 1. depends on system controller wants to switch to the new band within th e same band mode across different band modes. 2. if system controller wants to switch band within same band mode, it can directly issue the power up command as in step 3. otherwise, it needs to reset atdd device first and wait till irq is received to power up the atdd device again. 3. system controller issues atdd_power_up command with the bulleted arguments below to power up the device: ?? set arg1 bit[5:0] bandidx band index to the desired band number. ?? set arg1 bit[7] xosen bit = 1 if a 32.768 khz crystal is in use. set arg1 bit[6] xowa it bit =0 if typical 600 ms crystallization time is enough or set the xowait bit = 1 for a longer time of 900 ms. ?? optionally include arg2 arg3 * if new band bottom frequency is different from default. ?? optionally include arg4 arg5 * if new band top frequency is different from default. ?? optionally include arg6 * if new band channel space is different from default (am). ?? optionally include arg7 for new features of si4827 and si4844b devices. 4. system controller waits till irq is re ceived for the tune wheel frequency ready. 5. system controller issues atdd_get_status co mmand to obtain the latest status for display: ?? if reply0 bit[4] infordy bit = 1, i.e. info ready, the ho st can read and display the status, such as the band mode, station, and stereo states. ?? the tune frequency is ready when combined frequency of reply2, reply3 is non-zero (4-digit bcd number). 6. optionally, the system controller can issue th e atdd_audio_mode command to select one of the audio output modes: (0) digital volume mode, (1) bass/treble mode, (2) bass/treble with volume control mix mode 1, (3) bass/treble with volume control mix mode 2 (fm example). 7. optionally, the system controller can issue the set_property command to change the receive volume, bass/treble level, fm de-emphasis, soft-mute, and banding properties to override the default settings (fm example). *note: if pin 1 of the si4822/26/40/44 ssop24 packaged atdd devices has been pulled up by resistor, it is forced to use default band properties. the system cont roller optionally specified band properti es (i.e., band top, band bottom, channel space, fm de-emphasis, fm blend rssi mono th resholds) will be ignored and have no effects. 5.2.3. power off sequence 1. system controller can optionally issue the power_down command first to stop device current operations. 2. system controller holds the atdd device rstb pin in low state in power off. the current consumption of the atdd device will be at about 10 a at 3.3 v supp ly. (note that the si47xx dtdd device power_up commands is not supported in the at dd device. the system controller needs to reset the device and issue atdd_power_up command to power up.)
AN610 rev. 0.3 11 6. commands and responses commands control actions, such as atdd_get_status. arguments are specific to a given command and are used to modify the command. for example, after t he atdd_power_up command, arguments are required to set the band number, band top/bottom frequencies, channel spacing and optional features like china tv channel audio, universal am band and more. arguments are one byte in size, and each command may require up to seven argument bytes. responses provide the system controller with status information and are returned after a command and its associated arguments are issued. all commands return a one byte status containing minimum the 1 bit clear-to- send the next command and 1 bit error status. commands may return up to 15 additional response bytes. a complete list of commands is available in section ?7. commands and properties? . table 2 shows an example of the atdd_power_up command. this command requires that a command and optionally 7 argument bytes to be sent and that one stat us byte be returned. the table is broken into three columns. the first column lists the action taking plac e: command (cmd), argument (arg), status (status), or response (resp). the second co lumn lists the data byte or bytes in hexa decimal that are being sent or received. an arrow preceding the data indicates data being sent from the device to the system controller. the third column describes the action. properties are special command arguments used to modi fy the default device operation and are generally configured immediately after powerup. an example of a property is fm_mode_de_emp hasis. a complete list of properties is available in ?7. commands and properties? . table 3 shows an example of setting the digital volume level using the rx_volume property by sending the set_property command and 1 argument bytes. arg1 of the set_property command is always 0x00. arg2 and arg3 are used to select the property number , prop (0x04000 in this example).,arg4 and arg5 are used to set the property value, propd (0x003f max digital volume level in the example). section ?8. control interface? details the re quired bit transactions on the 2-wire bus mode. table 3. using the atdd_power_up command action data description cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 status 0xe1 0x80 0x22 0x60 0x2a 0x30 0x0a 0x00 ? 0x80 atdd_power_up band index = 0 (i.e., fm1), enable crystal, typica l crystal waiting time set band bottom frequency to 88 mhz e.g., 0x2260 ? 8800 (in 10 khz unit) set band top frequency to 108 mhz e.g., 0x2a30 ? 10800 (in 10 khz unit) set channel spacing to 100 khz (10 khz unit) disable si4827/44b features reply status. clear-to-send high table 4. using the set_property command action data description cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x40 0x00 0x00 0x3f ? 0x80 set_property rx_volume set digital volume to max volume level (63) reply status. clear-to-send high
AN610 12 rev. 0.3 7. commands and properties there are two differen t components for these atdd product families: 1. fm receiver component 2. am/sw component the following two subsections list all the commands and properties used by each component. 7.1. commands and prop erties for the fm receiver tables 4 and 5 summarize the commands and properties fo r the fm receiver component applicable to si4822/26/ 40/44. table 5. fm receiver command summary cmd name description 0xe0 atdd_get_status get tune freq, ban d, and etc., status of the device 0xe1 atdd_power_up power up device, band selection, and band properties setup 0xe2 atdd_audio_mode audio output mode : get/set audio mode and settings 0x10 get_rev returns the revision information of the device 0x11 power_down power down device 0x12 set_property sets the value of a property 0x13 get_property retrieves a property's value *note: the atdd family has its own power up and get status co mmands, which is different from previous si47xx dtdd family. to differentiate, we use ?atdd_power_up? and ?atdd_get_status? to denote the atdd specific commands instead of the general si47 xx ?power_up? and ?status? commands.
AN610 rev. 0.3 13 table 6. fm receiver property summary prop name description default 0x0201 refclk_freq sets frequency of reference clock in hz. the range is 31130 to 34406 hz or 0 to disable the afc. default is 32768 hz. 0x8000 0x0201 refclk_prescale sets the prescaler value for rclk input. 0x0001 0x1100 fm_deemphasis sets de-emphasis time constant. default is 75 s. 0x0002 0x1300 fm_soft_mute_rate sets the attack and decay rates when entering and leaving soft mute. 0x0040 0x1301 fm_soft_mute_slope configur es attenuation slope during soft mute in db attenu- ation per db snr below the soft mute snr threshold. default value is 2. 0x0002 0x1302 fm_soft_mute_ max_attenuation sets maximum attenuation during soft mute (db). set to 0 to disable soft mute. default is 16 db. 0x0010 0x1303 fm_soft_mute_ snr_threshold sets snr threshold to engage soft mute. default is 4 db. 0x0004 0x1207 fm_stereo_ind _blend_threshold sets the blend threshold for stereo indicator. default value is band-dependent (either 0x9f or 0xb2). note: applicable to si4840/44 parts only. 0x9f 0xb2 0x1800 fm_blend_rssi_ stereo_threshold sets rssi threshold for stereo blend. (full stereo above threshold, blend below threshold.) to force stereo, set this to 0. to force mono, set th is to 127. default value is 49 db v. note: applicable to si4840/44 parts only. 0x0031 0x1801 fm_blend_rssi_ mono_threshold sets rssi threshold for mono blend. (full mono below threshold, blend above threshold). to force stereo, set this to 0. to force mono, set this to 127. default value is band dependent (either 8 or 7). note: applicable to si4840/44 parts only. 0x0008 0x0007 0x4000 rx_volume sets the output volume. 0x003f 0x4001 rx_hard_mute mutes the audio output. l and r audio outputs may be muted independently. 0x0000 0x4002 rx_bass_treble sets the outp ut bass/treble level. 0x0004 0x4003 rx_actual_volume read the actual output volume. 0x003f
AN610 14 rev. 0.3 7.1.1. fm receiver commands command 0xe0. atdd_get_status command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 11100000 bit d7 d6 d5 d4 d3 d2 d1 d0 status cts hostrst hostpwrup infordy station stereo* bcfg1 bcfg0 resp1 bandmode bandidx resp2 chfreq[15:8] resp3 chfreq[7:0] resp bit name function status 7 cts clear to send. 0 = wait before sending next command. 1 = clear to send next command status 6 hostrst host reset. 1 0 = none 1= host reset action requested status 5 hostpwrup host power up. 1 0 = none 1= host sending atdd_power_up command action requested notes: 1. for band detection by the atdd device case, the system controller is always required to check the host actions bits and handle them correctly first. (i .e., hostrst and hostpwrup bits.) ?? hostrst bit = 1, reset the atdd device. ?? hostpwrup bit = 1, issue the atdd_power_up command with the valid band index detected. 2. during power up case, the system controller should not di splay any of the channel frequency, band mode, band index, station, or stereo statuses until the infordy bit is set. the host controller should not display the channel frequency when chfreq remains zero even when infordy=1. furthermore, the system controller is advised to save the band index for later use whenever the infordy bit is set.for example, when the band switches from fm to am, the system controller is required to reset the atdd device and th en issue the atdd_power_up command with the new band index, which is the saved valid band index value, before resetting the device. after power up, whenever the atdd device detects changes in any of the statuses, it will generate a high pulse on its irq pin to interrupt the system controller. the system c ontroller is then required to issue the atdd_get_status command to get the latest tune status a nd update its display contents accordingly. 3. for fm band, if the china tv channel audio sub-carrier display feature is enabled, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 50 khz for the channel frequency. 4. for sw band, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 5 khz for the channel frequency.
AN610 rev. 0.3 15 status 4 infordy information ready. 2 0 = tune info not ready yet 1 = tune info ready (i.e., band mode, band index, channel frequency, sta- tion, and stereo indicators) status 3 station station indicator. 0 = station invalid 1 = station valid status 2 stereo stereo indicator. 0 = stereo off 1 = stereo on *note: applicable to si4840/44 parts fm function only. status 1 bcfg1 band cfg1 (band properties priority). 0 = atdd device accepts host customized band properties 1 = atdd device ignores host customized band properties status 0 bcfg0 band cfg0 (band detection configuration). 0 = atdd device detects band 1 = host detects band resp1 7:6 bandmode band mode detected. 0 = fm mode 1 = am mode 2 = sw mode resp1 5:0 bandidx band index detected. 0~19: fm band 20~24: am band 25~40: sw band resp2:3 15:0 chfreq channel frequency. the channel frequency is a 16-bit word of 4 digits in bcd format: fm 3 0640..1090 (64.0?109.0 mhz) am 0504..1750 (504?1750 khz) sw 4 *0230..2850 (2.3? 28.5 mhz) resp bit name function notes: 1. for band detection by the atdd device case, the system controller is always required to check the host actions bits and handle them correctly first. (i .e., hostrst and hostpwrup bits.) ?? hostrst bit = 1, reset the atdd device. ?? hostpwrup bit = 1, issue the atdd_power_up command with the valid band index detected. 2. during power up case, the system controller should not di splay any of the channel frequency, band mode, band index, station, or stereo statuses until the infordy bit is set. the host controller should not display the channel frequency when chfreq remains zero even when infordy=1. furthermore, the system controller is advised to save the band index for later use whenever the infordy bit is set.for example, when the band switches from fm to am, the system controller is required to reset the atdd device and th en issue the atdd_power_up command with the new band index, which is the saved valid band index value, before resetting the device. after power up, whenever the atdd device detects changes in any of the statuses, it will generate a high pulse on its irq pin to interrupt the system controller. the system c ontroller is then required to issue the atdd_get_status command to get the latest tune status a nd update its display contents accordingly. 3. for fm band, if the china tv channel audio sub-carrier display feature is enabled, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 50 khz for the channel frequency. 4. for sw band, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 5 khz for the channel frequency.
AN610 16 rev. 0.3 command 0xe1. atdd_power_up the power up process of this atdd device is different from the si47xx dtdd devices. the atdd device provides only the fm/am functions. the device doesn?t provide patch and op-mode capabilities su ch that it is force- configured to analog audio outputs (lout/rout) only. when the system controller resets the atdd device and re leases the rstb pin from lo w to high, the atdd device boots autonomously and comes to an active waiting state instead of staying at power down mode and waiting for the system controller commands. only two commands are accepted in this active waiting state: 1. atdd_power_up command 0xe1 2. atdd_get_status command 0xe0 the atdd_power_up command should be issued after the system controller has reset the device successfully. a high pulse is then output from the device?s irq, indi cating the device is reset successfully. the command initiates the boot process to move the device from active waiting state to normal operating state. instead of specifying the fm and am function directly, a band index is required to specify both the function and one of the predefined bands. the atdd dev ice uses the pvr as the tune wheel to mimic the traditional mechanical tuning. however, the tune wheel position of the pvr c an be represented only in finite resolutions per band. therefore, multiple bands are necessary to cover the fm and sw bands? full ranges. a total of 41 bands (20 for fm, 5 for am and 16 for sw bands) are pre-defined for the atdd device to address different country and customer requirements. the atdd_power_up command configures the state of rout and lout for analog audio mode and irq for interrupt operation. the irq pin is driven low during no rmal operation and high for a minimum of 1 ms during the interrupt. the cts function is always enabled by defa ult and cannot be disabled by the system controller. for si4822/26/40/44a atdd parts, due to finite resolution of the atdd device internal adc for tune wheel position sensing, very wide frequency range bands should be brok en into smaller range sub-bands such that a sub-band should not contain more than 230 channels. for example, the 64?109 mhz band range should be broken into two smaller bands, one from 64?88 mhz and another from 88?109 mhz. similarly for sw, the entire 5.6?22 mhz range must be broken into 8 smaller bands. furthermore, there are two band groups for sw, one is for standard or narrow band frequency while another is for wide band frequency range. thus, we have a total of 16 sw bands. the extended sw band frequency ranges from 2.3?5.6 mhz and 22?28.5 mhz are not covered in pre-defined bands.theyare supported only via api and the syst em controller programming the extended band range. for si4827/44b atdd parts with new firmware that supp orts the wide fm bands and the wide sw bands, the host controller is allowed to re-configure a wider band range without the 230 channel resolution restriction. for fm, there are five different band frequency ranges and for each there are two different de-emphasis and stereo separation and rssi thresholds option s. therefore, there is a total 20 fm bands. for am, there are 5 different band frequency ranges which support 9 khz and 10 khz chann el spaces respectively. for sw, we have a total of16 bands, 8 of which are standard narrow rang es while another 8 bands are wider ranges. note: to change function (e.g. fm rx to am rx or vice versa), the system controller needs to reset the atdd device first and then issue atdd_power_up with the detected band number and optional band properties. table 7. atdd device band index corresponding function band index function band range si4822/40 si4826/27/44 0~19 fm fm 64~109 mhz ?? 20~24 am* am 504~1750 khz ?? 25~40 am* sw 2.3~28.5 mhz ? *note: the am and sw bands share a single firmware function.
AN610 rev. 0.3 17 table 8. pre-defined band table band index band name band freq range de-emphasis (fm) channel space (am) stereo separation* & rssi thresholds 0 fm1 87?108 mhz 75 s 6 db separation, rssi = 20 1 fm1 87?108 mhz 75 s 12 db separation, rssi = 28 2 fm1 87?108 mhz 50 s 6 db separation, rssi = 20 3 fm1 87?108 mhz 50 s 12 db separation, rssi = 28 4 fm2 86.5?109 mhz 75 s 6 db separation, rssi = 20 5 fm2 86.5?109 mhz 75 s 12 db separation, rssi = 28 6 fm2 86.5?109 mhz 50 s 6 db separation, rssi = 20 7 fm2 86.5?109 mhz 50 s 12 db separation, rssi = 28 8 fm3 87.3?108.25 mhz 75 s 6 db separation, rssi = 20 9 fm3 87.3?108.25 mhz 75 s 12 db separation, rssi = 28 10 fm3 87.3?108.25 mhz 50 s 6 db separation, rssi = 20 11 fm3 87.3?108.25 mhz 50 s 12 db separation, rssi = 28 12 fm4 76?90 mhz 75 s 6 db separation, rssi = 20 13 fm4 76?90 mhz 75 s 12 db separation, rssi = 28 14 fm4 76?90 mhz 50 s 6 db separation, rssi = 20 15 fm4 76?90 mhz 50 s 12 db separation, rssi = 28 16 fm5 64?87 mhz 75s 6 db separation, rssi = 20 17 fm5 64?87 mhz 75 s 12 db separation, rssi = 28 18 fm5 64?87 mhz 50 s 6 db separation, rssi = 20 19 fm5 64?87 mhz 50 s 12 db separation, rssi = 28 20 am1 520?1710 khz 10 khz 21 am2 522?1620 khz 9 khz 22 am3 504?1665 khz 9 khz 23 am4 520?1730 khz 10 khz 24 am5 510?1750 khz 10 khz 25 sw1 5.6?6.4 mhz 26 sw2 5.9?56.2 mhz *note: the stereo separation specification is applicable to si4840/44 fm stereo parts only.
AN610 18 rev. 0.3 command arguments: minimum one and optionally seven response bytes: one command 27 sw3 6.8?7.6 mhz 28 sw4 7.1?7.6 mhz 29 sw5 9.2?10 mhz 30 sw6 9.2?9.9 mhz 31 sw7 11.45?12.25 mhz 32 sw8 11.6?12.2 mhz 33 sw9 13.4?14.2 mhz 34 sw10 13.57?13.87 mhz 35 sw11 15?15.9 mhz 36 sw12 15.1?15.8 mhz 37 sw13 17.1?18 mhz 38 sw14 17.48?17.9 mhz 39 sw15 21.2?22 mhz 40 sw16 21.45?21.85 mhz bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 11100001 arg1 xoscen xowait bandidx arg2 bandbot[15:8] arg3 bandbot[7:0] arg4 bandtop[15:8] arg5 bandtop[7:0] arg6 chspc arg7* tvfreq uni_am dfband 0 0 0 0 0 *note: additional command argument arg7 is supported by si4827/44b parts only. table 8. pre-defined band table (continued) band index band name band freq range de-emphasis (fm) channel space (am) stereo separation* & rssi thresholds *note: the stereo separation specification is applicable to si4840/44 fm stereo parts only.
AN610 rev. 0.3 19 arg bit name function 17 xoscen crystal oscillator enable. 0 = use external rclk (cryst al oscillator disabled). 1 = use crystal oscillator (xtali and xt alo with external 32.768 khz crystal). see the si484x data sheet applicatio n schematic for external bom details. 16 xowait crystal oscillator stabilization wait time after reset. 0 = 600 ms (for typical crystal) 1 = 900 ms (for crystal requiring extra stabilization time) note: applicable to si4822/26/40/44a parts only. later si4827/44b parts don?t care this bit and will wait till crystal oscillation is stable unconditionally. 15:0 bandidx band index to set. 1 0~19: fm band number range 20~24: am band number range 25~40: sw band number range 2:3 15:0 bandbot 2,4 band bottom frequency limit. fm 6400..10900 (64.0?109.0 mhz) am 510..1750 (510?1750 khz) sw 2300..28500 (2.3?28.5 mhz) 4:5 15:0 bandtop 2,4 band top frequency limit. fm 6400..10900 (64.0?109.0 mhz) am 510..1750 (510?1750 khz) sw 2300..28500 (2.3?28.5 mhz) 67:0 chspc 2,3 channel spacing. fm 10 (e.g.,100 khz) am 9 or 10 (e.g., 9 khz or 10 khz) sw 5 (e.g., 5 khz) 77 tvfreq 5 tv audio channel frequency display. 0 = disable tv audio channel frequency display format 1 = enable tv audio channel frequency display format note: applicable to si4827 and si4844b parts and fmrx mode only 76 uni_am 5 universal am band. 0 = disable universal am band (default afc range of 1.1 khz) 1 = enable universal am band (wider afc range in tuning) note: applicable to si4827 and si4844b parts and amrx mode only 75 dfband 5 default band settings. 0 = allow host controller to override the band property settings 1 = force to use tuner default band property settings note: applicable to si4827 part only
AN610 20 rev. 0.3 response notes: 1. the band index to set for the atdd device band detection case needs to be consistent with the band index detected by the device (e.g., band index reads from atdd_get_status command when infordy bit is set.) 2. the band bottom, top, and channel spacing arguments are optional and can be omitted if the system controller doesn?t need to override the corresponding default band properties. ho wever, if pin 1 of the si4822/26/40/44 atdd parts has been pulled up by the resi stor, it is forced to use def ault band properties. the system controller optio nally specified band properties will be ignored and have no effects. 3. the channel spacing is configurable for the am band mode only. system controller can select between 9 (9 khz) and 10 (10 khz) channel space. for fm and sw, it should be set to 10 (100 khz) and 5 (5 khz) respectively. 4. system controller can re-program the band frequency limits, i.e., bandbot and bandtop, of a band to override the default values. for si4822/26/40/44a atdd parts, the programmed values mu st satisfy the following requirements for proper tuning operation: ?? bandbot needs to be multiple of chspc; i.e., exact dividable by the channel spacing. ?? (bandtop ? bandbot)/(chspc) must be in 50?230 range ?? when programming the bandtop value, the system controller is required to add extra margin to guarantee the band top frequency can be reached. fm: 70 khz (value of 7) margin is required am: 6 khz (value of 6) margin is required sw: 4 khz (value of 4) margin is required ?? for example, to program the customized fm band from 80 ?103 mhz of the total 230 channels, the values set for bandbot is 8000 and bandtop is (10300+7) which is 10307. for later si4827/44b atdd parts which support wide fm a nd wide sw bands, system controller is allowed to set bandbot and bandtop for the maximum band range without rest rictions. system controller is no longer required to reserve extra margin when programming the bandtop. ?? bandbot and bandbot need to be multiple of chsp c; i.e., exact dividable by the channel spacing. 5. arg7 is supported by si4827/44b parts only. system controller is optional to send this argument in the atdd_power_up command if advanced features are needed. bit d7 d6 d5 d4 d3 d2 d1 d0 status cts err errcode
AN610 rev. 0.3 21 command 0xe2. atdd_audio_mode command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 111 0 0 0 1 0 arg1 opcode reserved adjpt_steo ad jpt_attn fm_mono* audiomode arg bit name function 17 opcode operation code. 0 = set audio mode and settings 1 = get current audio mode and settings without setting 1 4 adjpt_steo station adjacent tune wheel positions stereo option. 0 = adjacent points allow stereo separation and stereo indicator on (default) 1 = adjacent points disable stereo separation and stereo indicator are off 1 3 adjpt_attn station adjacent tune wheel positions audio attenuation option. audio attention of adjacent tune wheel positions of a station: 0 = {?2 db, -0db, ?2 db} i.e., adjacent points volume levels ?2 db (default) 1 = {?0 db, -0db, ?0 db} i.e., adjacent points same volume levels 12fm_mono fm mono/stereo. 0 = stereo audio output (default) 1 = mono audio output *note: applicable to si4840/44 fm stereo parts only. setting this bit for fm mono parts will have no effect. 1 1:0 audiomode audio mode. 0 = digital volume mode (no bass/treble effect, volume levels from 0 to 63) 1 = bass/treble mode (no digital volume control, fixed volume level at 59) 2 = mixed mode 1 (bass/treble and digital volume coexist, max volume = 59) 3 = mixed mode 2 (bass/treble and digital volume coexist, max volume = 63) default is 3 (mixed mode 2) bit d7 d6 d5 d4 d3 d2 d1 d0 status cts err reserved adjpt_steo adjpt_attn fm_mono audiomode
AN610 22 rev. 0.3 command 0x10. get_rev returns the part number, chip revisi on, firmware revision, patch revision , and component revision numbers. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent when in power up mode. command arguments: none response bytes: eight command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010000 bit d7 d6d5d4d3d2d1d0 status cts err reserved resp1 pn[7:0] resp2 fwmajor[7:0] resp3 fwminor[7:0] resp4 reserved resp5 reserved resp6 cmpmajor[7:0] resp7 cmpminor[7:0] resp8 chiprev[7:0] resp bit name function 1 7:0 pn final 2 digits of part number (hex). 2 7:0 fwmajor firmware major revision (ascii). 3 7:0 fwminor firmware minor revision (ascii). 6 7:0 cmpmajor component major revision (ascii). 7 7:0 cmpminor component minor revision (ascii). 8 7:0 chiprev chip revision (ascii).
AN610 rev. 0.3 23 command 0x11. power_down moves the device from power up to power down mode. the cts bit is set when it is safe to send the next command. this command may only be sent when in power up mode. note that only the atdd_power_up and atdd_get_status commands are accepted in power dow n mode. if the system controller writes a command other than the two commands when in power down mode, the device does not respond. the device will only respond when an atdd_power_up command is written. gp o pins are powered down and not active during this state. note: the following describes the state of all the pins when in powerdown mode: rout, lout = hiz command arguments: none response bytes: none command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010001 bit d7 d6d5d4d3d2d1d0 status cts err reserved
AN610 24 rev. 0.3 command 0x12. set_property sets a property shown in table 5, ?fm receiver command summary,? on page 12. the cts bit is set when it is safe to send the next command. this command may only be sent when in power up mode. command arguments: five response bytes: none command bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010010 arg1 00000000 arg2 prop h [7:0] arg3 prop l [7:0] arg4 propd h [7:0] arg5 propd l [7:0] arg bit name function 1 7:0 reserved always write to 0. 27:0 prop h property high byte. this byte in combination with prop l is used to specify the property to modify 37:0 prop l property low byte. this byte in combination with prop h is used to specify the property to modify 47:0propd h property value high byte. this byte in combination with propd l is used to specify the property to modify 57:0propd l property value low byte. this byte in combination with propd h is used to specify the property to modify
AN610 rev. 0.3 25 command 0x13. get_property gets a property as shown in table 5, ?fm receiver command summary,? on page 12. the cts bit is set when it is safe to send the next command. this command may only be sent when in power up mode. command arguments: three response bytes: three command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010011 arg1 00000000 arg2 prop h [7:0] arg3 prop l [7:0] arg bit name function 1 7:0 reserved always write to 0. 27:0 prop h property high byte. this byte in combination with prop l is used to specify the property to get 37:0 prop l property low byte. this byte in combination with prop h is used to specify the property to get bit d7 d6d5d4d3d2d1d0 status cts err reserved resp1 0 00000 00 resp2 propd h [7:0] resp3 propd l [7:0] resp bit name function 1 7:0 reserved always write to 0. 27:0propd h property value high byte. this byte in combination with propd l represents the requested property value 37:0propd l property value low byte. this byte in combination with propd h represents the requested property value
AN610 26 rev. 0.3 7.1.2. fm receiver properties property 0x0201. refclk_freq sets the frequency of the refclk from the output of the prescaler. the refclk range is 31130 to 34406 hz (32768 5% hz) in 1 hz steps, or 0 (to disable afc). fo r example, an reference clock at xtali pin of 13 mhz would require a prescaler value of 400 to divide it to 32500 hz refclk. the reference clock frequency property would then need to be set to 32500 hz. reference clock frequencies between 31130 hz and 40 mhz are supported, however, there are gaps in frequency coverage for prescaler values ranging from 1 to 10, or frequencies up to 311300 hz. the following table summarizes these reference clock gaps. figure 6. refclk prescaler the rclk must be valid 10 ns before resetting and valid at all times for proper tuning and afc operations. xtali reference clock input frequency could be changed but is not recommended and refclk properties values need to be reconfigured accordingly. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 32768 hz. default: 0x8000 (32768) units: 1 hz step: 1 hz range: 31130-34406 table 9. xtli reference clock frequency gaps prescaler xtali low (hz) xtali high (hz) 1 31130 34406 2 62260 68812 3 93390 103218 4 124520 137624 5 155650 172030 6 186780 206436 7 217910 240842 8 249040 275248 9 280170 309654 10 311300 344060 bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name refclkf[15:0] bit name function 15:2 refclkf[15:0] frequency of reference clock in hz. the allowed refclk frequency range is between 31130 and 34406 hz (327685%), or 0 (to disable afc).
AN610 rev. 0.3 27 property 0x0202. refclk_prescale sets the number used by the prescaler to divide the external reference clock frequency down to the internal refclk. the range may be between 1 and 4095 in 1 unit steps. for example, an xtali reference clock of 13 mhz would require a prescaler value of 400 to divide it to 3250 hz. the reference clock frequency property would then need to be set to 32500 hz. the reference clock must be valid 10 ns before the chip reset signal. in addition, the reference clock must be valid at all times fo r proper tuning and afc operations. xtali reference clock input frequency could be changed but is not recomm ended and refclk properties values need to be reconfigured accordingly. the cts bit (and optional interrupt ) is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 1. default: 0x0001 step: 1 range: 1-4095. bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000rclk sel refclk[11:0] bit name function 15:13 reserved always write to 0. 12 rclksel rclksel. 0 = rclk pin is clock source. 1 = reserved 11:0 refclkp[11:0] prescaler for reference clock. integer number used to divide clock frequency down to refclk frequency. the allowed refclk frequency range is between 31130 and 34406 hz (32768 5%), or 0 (to disable afc).
AN610 28 rev. 0.3 property 0x4000. rx_volume sets the audio output volume. the cts bi t is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 63. default: 0x003f step: 1 range: 0?63 property 0x4001. rx_hard_mute mutes the audio output. l and r audio outputs may be muted independently. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is un-mute (0x0000). default: 0x0000 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0000000000 vol[5:0] bit name function 15:6 reserved always write to 0. 5:0 vol output volume. sets the output volume level. the max level is dependent on the audio mode selected. 0 - digital volume mode: actual volume level ranges from 0~63 1 - bass/treble mode: actual volume level ranges from 0~59 2 - mixed mode 1: actual volume level ranges from 0~59 3 - mixed mode 2: actual volume level ranges from 0~63 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000000000 00000lmu te rmu te bit name function 15:2 reserved always write to 0. 1lmute left mute. mutes l audio output. 0rmute right mute. mutes r audio output.
AN610 rev. 0.3 29 property 0x4002. rx_bass_treble sets the audio output bass/treble effect. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 4. the bass effect is achieved by boost ing the audio low frequency components and attenuating the audio frequency components. the treble effect is achiev ed vice versa. as additional dynamic range is required to process the bass/ treble effects, the maximum digital volume output le vel for maximum bass/treble effect is reduced by 5db compared with no bass/treble effects. for the same reason, the audio snr under the bass/treble audio mode is a few db worst than that under the digital volume audio mode. default: 0x0004 step: 1 range: 0?8 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0 0 0 0 0 0 0 0 0 0 0 basstreble[4:0] bit name function 15:5 reserved always write to 0. 4:0 basstreble bass/treble level. sets the output bass/treble effect level: 0 -bass boost +4 (max) 1- bass boost +3 2- bass boost +2 3- bass boost +1 (min) 4- normal (no bass/treble effect) (default) 5- treble boost +1 (min) 6- treble boost +2 7- treble boost +3 8- treble boost +4 (max)
AN610 30 rev. 0.3 property 0x4003. rx_actual_volume read only reflects the actual digital audio output volume in use. when bass/treble effe ct is enabled at high volume level, the actual volume read can be different from wh at the property 0x4000 rx_volume set due to the extra dynamic range required for making the bass/treble effect. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 63. default: 0x003f step: 1 range: 0?63 property 0x1100. fm_deemphasis sets the fm receive de-emphasis to 50 or 75 s. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 75 s. default: 0x0002 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0 0 0 0 0 0 0 0 0 0 act_vol[5:0] bit name function 15:6 reserved always write to 0. 5:0 act_vol actual volume. actual volume level ranges from 0~63 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000000000 00000deemph[1 :0] bit name function 15:2 reserved always write to 0. 1:0 deemph fm de-emphasis. 10 = 75 s. used in usa 01 = 50 s. used in europe, australia, japan, china 00 = reserved 11 = reserved
AN610 rev. 0.3 31 property 0x1300. fm_soft_mute_rate sets the attack and decay rates when entering and leaving soft mute. later values increase rates, and lower values decrease rates. the cts is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 64. default: 64 step: 1 range: 1?255 property 0x1301. fm_soft_mute_slope configures attenuation slope during soft mute in db attenuation per db snr below the soft mute snr threshold. soft mute attenuation is the minimum of smsl ope x (smthr ? snr) and smattn. the recommended smslope value is ceiling(smattn/smthr) . smattn and smthr are set via the fm_soft_mute_max_attenuation and fm_soft_mute_snr_threshold properties. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. default: 0x0002 range: 0?63 property 0x1302. fm_soft_mute_max_attenuation sets maximum attenuation during soft mute (db). set to 0 to disable soft mute. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 16 db. default: 0x0010 units: db step: 1 range: 0?31 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 00000000 smrate[7:0] bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 00000000 smslope[7:0] bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name 00000000000 smattn[4:0] bit name function 15:5 reserved always write to 0. 4:0 smattn fm soft mute maximum attenuation. set maximum attenuation during soft mute . if set to 0, then soft mute is dis- abled. specified in units of db in 1 db steps (0?31). default is 16 db.
AN610 32 rev. 0.3 property 0x1303. fm_soft_mute_snr_threshold sets snr threshold to engage soft mute. whenever the snr for a tuned frequency drops below this threshold, the fm reception will go in soft mute, prov ided soft mute max attenuation property is non-zero. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 4db. default: 0x0004 units: db step: 1 range: 0?15 property 0x1207. fm_stereo_ind_blend_threshold (si4840/44 only) sets the blend threshold for stereo indicator. the cts bi t is set when it is safe to send the next command. this property may only be set or read when in powerup mo de. the default value is band dependent (either 0x9f or 0xb2) default: 0x009f or 0x00b2 (band dependent) range: 0?0xff bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0 0 0 0 0 0000000 smthr[3:0] bit name function 15:2 reserved always write to 0. 3:0 smthr fm soft mute snr threshold. threshold which will engage so ft mute if the snr falls below this. specified in units of db in 1 db steps (0?15). default is 4 db. bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 00000000 blend[7:0]
AN610 rev. 0.3 33 property 0x1800. fm_blend_rssi_stereo_threshold (si4840/44 only) sets rssi threshold for stereo blend (full stereo above th reshold, blend below threshold). to force stereo, set to 0. to force mono, set to 127. the cts bit is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 49 db v. default: 0x0031 units: db v step: 1 range: 0?127 property 0x1801. fm_blend_rssi _mono_threshold (si4840/44 only) sets rssi threshold for mono blend (full mono below thres hold, blend above threshold). to force stereo, set this to 0. to force mono, set this to 127. the cts is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is band dependent (0x0008 or 0x0007) default: 0x0008 or 0x0007 (band dependent) units: db v step: 1 range: 0?127 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000000000 strthresh[6:0] bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000000000 monothresh[6:0]
AN610 34 rev. 0.3 7.2. commands and proper ties for the am/sw receiver am (medium wave) and sw (short wave) use the same am_sw component, thus the commands and properties for these functions are the same. for simplicity, the commands and properties only have a prefix am instead of am_sw. the main difference among am and sw is on the frequency range. the common frequency range and spacing for am/sw are: ?? am in us 520 khz?1.71 mhz in 10 khz frequency spacing ?? am in asia 522 khz?1.71 mhz in 9 khz frequency spacing ?? sw 2.3?28.5 mhz in 5 khz frequency spacing tables 8 and 10 summarize the commands and properties for the am/sw receiver components applicable to the atdd family. table 10. am/sw receiver command summary cmd name description 0xe0 atdd_get_status gets tune freq, ban d, and etc., status of the device. 0xe1 atdd_power_up power up device, band selection, and band properties setup. 0xe2 atdd_audio_mode audio output mo de: get/set audio mode settings. 0x10 g et_rev returns the revision information of the device. 0x11 power_down power down device. 0x12 s et_property sets the value of a property. 0x13 get_property retrieves a property's value. notes: the atdd family has its own power up and get status commands, which is different from previous si47xx dtdd family. to differentiate, we use ?atdd_power_up? and ?atdd_get_status? to denote the atdd specific commands instead of the general si47xx ?power_up? and ?status? commands.
AN610 rev. 0.3 35 table 11. am/sw receiver property summary prop name description default 0x0201 refclk_freq sets frequency of reference clock in hz. the range is 31130 to 34406 hz, or 0 to disable the afc. default is 32768 hz. 0x8000 0x0202 refclk_prescale sets the prescaler value for rclk input. 0x0001 0x4000 rx_volume sets the output volume. 0x003f 0x4001 rx_hard_mute mutes the audio output. l and r audio outputs may be muted independently. 0x0000 0x4002 rx_bass_treble sets the ou tput bass/treble level. 0x0003 0x4003 rx_actual_volume reads t he actual output volume. 0x003f 0x3300 am_soft_mute_rate sets the attack and decay rates when entering and leav- ing soft mute. 0x0040 0x3301 am_soft_mute_slope config ures attenuation slope during soft mute in db atten- uation per db snr below the soft mute snr threshold. 0x0002 0x3302 am_soft_mute_ max_attenuation sets maximum attenuation during soft mute (db). set to 0 to disable soft mute. 0x0010 0x3303 am_soft_mute_ snr_threshold sets snr threshold to engage soft mute. 0x0008
AN610 36 rev. 0.3 7.2.1. am/sw receiver commands command 0xe0. atdd_get_status command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 11100000 bit d7 d6 d5 d4 d3 d2 d1 d0 status cts hostrst hostpwrup infordy station stereo* bcfg1 bcfg0 resp1 bandmode bandidx resp2 chfreq[15:8] resp3 chfreq[7:0] resp bit name function status 7 cts clear to send. 0 = wait before sending next command. 1 = clear to send next command. status 6 hostrst host reset. 1 0 = none 1= host reset action requested status 5 hostpwrup host powerup. 1 0 = none 1= host sending atdd_power_up command action requested notes: 1. for band detection by atdd device case, th e system controller is always require d to check the host actions bits and handle them correctly first (i.e., hostrst and hostpwrup bits.) ?? hostrst bit = 1, reset the atdd device. ?? hostpwrup bit = 1, issue the atdd_power_up command with the valid band index detected. 2. during power up case, the system controller should not di splay any of the channel frequency, band mode, band index, station and stereo status until the infordy bit is set. ho st controller should not display the channel frequency when chfreq remains zero even when infordy=1. furthermore, the system controller is advi sed to save the band index for later use whenever the infordy bit is set.for example, when the band switches from fm to am, the system controller is required to reset the atdd device and th en issue the atdd_power_up command with the new band index, which is the saved valid band index value, before resetting the device. after power up, whenever the atdd device detects changes in either status, it will generate a high pulse on its irq pin to interrupt the system controller. then the system controller is required to issue the atdd_get_status command to get the latest tune status and updat e its display contents accordingly. 3. for fm band, if the china tv channel audio sub-carrier display feature is enabled, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 50 khz for the channel frequency. 4. for sw band, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 5 khz for the channel frequency.
AN610 rev. 0.3 37 status 4 infordy information ready. 2 0 = tune info not ready yet 1 = tune info ready (i.e., band mode, band index, channel frequency, station and stereo indicators) status 3 station station indicator. 0 = station invalid 1 = station valid status 2 stereo stereo indicator. 0 = stereo off 1 = stereo on *note: applicable to si4840/44 parts fm function only. status 1 bcfg1 band cfg1 (band properties priority). 0 = atdd device accepts host customized band properties 1 = atdd device ignores host customized band properties status 0 bcfg0 band cfg0 (band detection configuration). 0 = atdd device detects band 1 = host detects band resp1 7:6 bandmode band mode detected. 0 = fm mode 1 = am mode 2 = sw mode resp1 5:0 bandidx band index detected. 0~19: fm band 20~24: am band 25~40: sw band resp2:3 15:0 chfreq channel frequency. the channel frequency is a 16-bit word of 4 digits in bcd format: fm 3 0640..1090 (64.0?109.0 mhz) am 0504..1750 (504?1750 khz) sw 4 *0230..2850 (2.3?28.5 mhz) resp bit name function notes: 1. for band detection by atdd device case, th e system controller is always require d to check the host actions bits and handle them correctly first (i.e., hostrst and hostpwrup bits.) ?? hostrst bit = 1, reset the atdd device. ?? hostpwrup bit = 1, issue the atdd_power_up command with the valid band index detected. 2. during power up case, the system controller should not di splay any of the channel frequency, band mode, band index, station and stereo status until the infordy bit is set. ho st controller should not display the channel frequency when chfreq remains zero even when infordy=1. furthermore, the system controller is advi sed to save the band index for later use whenever the infordy bit is set.for example, when the band switches from fm to am, the system controller is required to reset the atdd device and th en issue the atdd_power_up command with the new band index, which is the saved valid band index value, before resetting the device. after power up, whenever the atdd device detects changes in either status, it will generate a high pulse on its irq pin to interrupt the system controller. then the system controller is required to issue the atdd_get_status command to get the latest tune status and updat e its display contents accordingly. 3. for fm band, if the china tv channel audio sub-carrier display feature is enabled, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 50 khz for the channel frequency. 4. for sw band, the chfreq bit[15] msb = 1 means the host controller needs to add an additional 5 khz for the channel frequency.
AN610 38 rev. 0.3 command 0xe1. atdd_power_up the power up process of this atdd device is different from the si47xx dtdd devices. the atdd device provides only the fm/am functions. the device doesn?t provide patch and op-mode capabilities su ch that it is force- configured to analog audio outputs (lout/rout) only. when the system controller resets the atdd device and re leases the rstb pin from lo w to high, the atdd device boots autonomously and comes to an active waiting state instead staying at power down mode and waiting for the system controller commands. only two commands are accepted in this active waiting state: 1. atdd_power_up command 0xe1 2. atdd_get_status command 0xe0 the atdd_power_up command should be issued after the system controller has reset the device successfully. a high pulse is output from the device?s irq indicating t he device is reset successfu lly. the command initiates the boot process to move the device from active waiting state to normal operating state. instead of specifying the fm and am fu nctions directly, a band index is requir ed to specify both the function and one of the predefined bands. the atdd device uses the pvr as the tune wheel to mimic the traditional mechanical tuning. however, the tune wheel position of the pvr c an be represented only in finite resolutions per band. therefore, multiple bands are necessary to cover the fm and sw bands full ranges. a total of 41 bands (20 for fm, 5 for am, and 16 for sw bands) are pre-defined for the atdd device to address different country and customer requirements: the atdd_power_up command configures the state of rout and lout for analog audio mode and irq for interrupt operation. the irq pin is driven low during normal operation and high for a minimum of 1 ms during the interrupt. the cts function is always enabled by defa ult and cannot be disabled by the system controller. for si4822/26/40/44a atdd parts, due to finite resolution of the atdd device internal adc for tune wheel position sensing, very wide frequency range bands should be brok en into smaller range sub-bands such that a sub-band should not contain more than 230 channels. for example, the 64?109 mhz band range should be broken into two smaller bands, one from 64?88 mhz and another from 88?109 mhz. similarly for sw, the entire 5.6? 22 mhz range must be broken into 8 smaller bands. furthermore, there two band groups for sw, one is for standard or narrow band frequency while another is for wide band frequency range. thus, we have a total of 16 sw bands. the extended sw band frequency ranges from 2.3?5.6 mhz and 22?28.5 mhz are not covered in pre-defined bands.theyare supported only via api and the system controller programming the extended band range. for si4827/44b atdd parts with new firmware that supp orts the wide fm bands and the wide sw bands, the host controller is allowed to re-configure a wider band rang e without the 230 channel resolution restriction. for fm, there are five different band frequency ranges and for each there are two different de-emphasis and stereo separation and rssi thresholds option s. therefore, there is a total 20 fm bands. for am, there are 5 different band frequency ranges which support 9 khz and 10 khz ch annel spaces respectively. for sw, we have a total of16 bands, 8 of which are standard narrow ranges while another 8 bands are wider ranges. note: to change function (e.g. fm rx to am rx or vice versa), the system controller needs to reset the atdd device first and then issue atdd_power_up with the detected band number and optional band properties. table 12. atdd device band index corresponding function band index function band range si4822/40 si4826/27/44 0~19 fm fm 64?109 mhz ?? 20~24 am* am 504?1750 khz ?? 25~40 am* sw 2.3?28.5 mhz ? *note: the am and sw bands share a single firmware function.
AN610 rev. 0.3 39 table 13. pre-defined band table band index band name band freq range de-emphasis (fm) channel space (am) stereo separation* & rssi thresholds 0 fm1 87?108 mhz 75 s 6 db separation, rssi = 20 1 fm1 87?108 mhz 75 s 12 db separation, rssi = 28 2 fm1 87?108 mhz 50 s 6 db separation, rssi = 20 3 fm1 87?108 mhz 75 s 12 db separation, rssi = 28 4 fm2 86.5?109 mhz 75 s 6 db separation, rssi = 20 5 fm2 86.5?109 mhz 75 s 12 db separation, rssi = 28 6 fm2 86.5?109 mhz 50 s 6 db separation, rssi = 20 7 fm2 86.5?109 mhz 50 s 12 db separation, rssi = 28 8 fm3 87.3?108.25 mhz 75 s 6 db separation, rssi = 20 9 fm3 87.3?108.25 mhz 75 s 12 db separation, rssi = 28 10 fm3 87.3?108.25 mhz 50 s 6 db separation, rssi = 20 11 fm3 87.3?108.25 mhz 50 s 12 db separation, rssi = 28 12 fm4 76?90 mhz 75 s 6 db separation, rssi = 20 13 fm4 76?90 mhz 75 s 12 db separation, rssi = 28 14 fm4 76?90 mhz 50 s 6 db separation, rssi = 20 15 fm4 76?90 mhz 50 s 12 db separation, rssi = 28 16 fm5 64?87 mhz 75 s 6 db separation, rssi = 20 17 fm5 64?87 mhz 75 s 12 db separation, rssi = 28 18 fm5 64?87 mhz 50 s 6 db separation, rssi = 20 19 fm5 64?87 mhz 50 s 12 db separation, rssi = 28 20 am1 520?1710 khz 10 khz 21 am2 522?1620 khz 9 khz 22 am3 504?1665 khz 9 khz 23 am4 520?1730 khz 10 khz 24 am5 510?1750 khz 10 khz 25 sw1 5.6?6.4 mhz 26 sw2 5.95?6.2 mhz *note: the stereo separation specification is applicable to si4840/44 fm stereo parts only.
AN610 40 rev. 0.3 command arguments: minimum one and optionally seven response bytes: one command 27 sw3 6.8?7.6 mhz 28 sw4 7.1?7.6 mhz 29 sw5 9.2?10 mhz 30 sw6 9.2?9.9 mhz 31 sw7 11.45?12.25 mhz 32 sw8 11.6?12.2 mhz 33 sw9 13.4?14.2 mhz 34 sw10 13.57?13.87 mhz 35 sw11 15?15.9 mhz 36 sw12 15.1?15.8 mhz 37 sw13 17.1?18 mhz 38 sw14 17.48?17.9 mhz 39 sw15 21.2?22 mhz 40 sw16 21.45?21.85 mhz bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 11100001 arg1 xoscen xowait bandidx arg2 bandbot[15:8] arg3 bandbot[7:0] arg4 bandtop[15:8] arg5 bandtop[7:0] arg6 chspc arg7* tvfreq uni_am dfband 0 0 0 0 0 *note: additional command argument arg7 is supported by si4827/44b parts only. table 13. pre-defined band table band index band name band freq range de-emphasis (fm) channel space (am) stereo separation* & rssi thresholds *note: the stereo separation specification is applicable to si4840/44 fm stereo parts only.
AN610 rev. 0.3 41 arg bit name function 1 7 xoscen crystal oscillator enable. 0 = use external rclk (cr ystal oscillator disabled). 1 = use crystal oscillator (xtali and xt alo with external 32.768 khz crystal). see si484x data sheet application schematic for external bom details. 16 xowait crystal oscillator stabilization wait time after reset. 0 = 600 ms (for typical crystal) 1 = 900 ms (for crystal requires extra stabilization time) *note: applicable to si4822/26/40/44a parts only. later si4827/44b parts don't care this bit and will wait till crystal oscillation is stable unconditionally. 1 5:0 bandidx band index to set. 1 0~19: fm band number range 20~24: am band number range 25~40: sw band number range 2:3 15:0 bandbot 2,4 band bottom frequency limit. fm 6400..10900 (64.0?109.0 mhz) am 510..1750 (510?1750 khz) sw 2300..28500 (2.3?28.5 mhz) 4:5 15:0 bandtop 2,4 band top frequency limit. fm 6400..10900 (64.0?109.0 mhz) am 510..1750 (510?1750 khz) sw 2300..28500 (2.3?28.5 mhz) 6 7:0 chspc 2,3 channel spacing. fm 10 (i.e.,100 khz) am 9 or 10 (i.e., 9 khz or 10 khz) sw 5 (i.e., 5 khz) 7 7 tvfreq 4 tv audio channel frequency display. 0 = disable tv audio channel frequency display format 1 = enable tv audio channel frequency display format *note: applicable to si4827 and si4844b parts and fmrx mode only 76 uni_am 4 universal am band. 0 = disable universal am band (default afc range of 1.1khz) 1 = enable universal am band (wider afc range in tuning) *note: applicable to si4827 and si4844b parts and amrx mode only 75 dfband 4 default band settings. 0 = allow host controller to override the band property settings 1 = force to use tuner default band property settings *note: applicable to si4827 part only
AN610 42 rev. 0.3 response notes: 1. the band index to set for the atdd device band detection ca se needs to be consistent with the band index detected by the device (i.e., band index read from atdd _get_status command when infordy bit is set). 2. the band bottom, top, and channel spacing arguments are optional and can be omitted if the system controller doesn?t need to override the corresponding default band properties. however, if the atdd device pin 1 has been pulled up by the resistor, it is forced to use default band properties. the system controller optionally specified band properties will be ignored and have no effects. 3. the channel spacing is configurable for the am band mode only. the system controller can select between 9 (9 khz) and 10 (10 khz) channel space. for fm and sw band modes, the value should be set to 10 (100 khz) and 5 (5 khz) respectively. 4. the system controller can re-program the band frequency lim its, i.e. bandbot and bandtop, of a band to override the default values. for si4822/26/40/44a atdd parts, the programmed values mu st satisfy the following requirements for proper tuning operation: ?? bandbot needs to be a multiple of chspc; i.e., exactly dividable by the channel spacing. ?? (bandtop ? bandbot)/(chspc) must be in 50?230 range ?? when programming the bandtop value, the system controller is required to add extra margin to guarantee the band top frequency can be reached. fm: 70 khz (value of 7) margin is required am: 6 khz (value of 6) margin is required sw: 4 khz (value of 4) margin is required ?? for example, to program the customiz ed am band from 510?1750 khz of the total 125 channels, the values set for bandbot is 510 and bandtop is (1750+6) which is 1756. for later si4827/44b atdd parts that support wide fm and wide sw bands, the system controller is allowed to set bandbot and bandtop for the maximum band range withou t restrictions. the system controller is no longer required to reserve an extra margin when programming the bandtop, etc. ?? bandbot and bandbot need to be multiple of chsp c; i.e., exact dividable by the channel spacing. 5. arg7 is supported by si4827/44b parts only. system controller is optional to send this argument in the atdd_power_up command if advanced features are needed. bit d7 d6 d5 d4 d3 d2 d1 d0 status cts err errcode
AN610 rev. 0.3 43 command 0xe2. atdd_audio_mode command response bit d7 d6d5d4 d3 d2d1d0 cmd 1 110 0 010 arg1 opcode reserved swadj_attn reserved arg bit name function 17 opcode operation code. 0 = set audio mode settings 1 = get current audio mode settings without setting 1 3 adjpt_attn shortwave (sw) adjacent tune wheel positions audio attenuation option. audio attention of adjacent tune wheel positions of a station: 0 = (?2 db, ?0 db, ?2 db) i.e., adjacent points volume levels ?2 db (default) 1 = (?0 db, ?0 db, ?0 db) i.e., adjace nt points same volume levels *note: this bit is not applicable to wide sw ban ds (i.e., sw band range > 1.5 mhz), which are supported by si4827/44b parts. for wide sw bands, all adjacent points will have the same volume level. bit d7 d6 d5 d4 d3 d2 d1 d0 status cts err swadj_attn
AN610 44 rev. 0.3 command 0x10. get_rev returns the part number, chip revisi on, firmware revision, patch revision , and component revision numbers. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent when in power up mode. command arguments: none response bytes: eight command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010000 bit d7 d6d5d4d3d2d1d0 status cts err reserved resp1 pn[7:0] resp2 fwmajor[7:0] resp3 fwminor[7:0] resp4 reserved resp5 reserved resp6 cmpmajor[7:0] resp7 cmpminor[7:0] resp8 chiprev[7:0] resp bit name function 1 7:0 pn[7:0] final 2 digits of part number (hex). 2 7:0 fwmajor firmware major revision (ascii). 3 7:0 fwminor firmware minor revision (ascii). 6 7:0 cmpmajor component major revision (ascii). 7 7:0 cmpminor component minor revision (ascii). 8 7:0 chiprev chip revision (ascii).
AN610 rev. 0.3 45 command 0x11. power_down moves the device from power up to power down mode. the cts bit is set when it is safe to send the next command. this command may only be sent when in power up mode. note that only the atdd_power_up and atdd_get_status commands are accepted in power down mode. if the system controller writes a command other than the two commands when in power down mode, the device does not respond. the device will only respond when an atdd_power_up command is written. gp o pins are powered down and not active during this state. note: the following describes the state of all the pins when in powerdown mode: rout, lout = hiz command arguments: none response bytes: none command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010001 bit d7 d6d5d4d3d2d1d0 status cts err reserved
AN610 46 rev. 0.3 command 0x12. set_property sets a property shown in table 10, ?am/sw receiver command summary,? on page 34. the cts bit is set when it is safe to send the next command. this comma nd may only be sent when in power up mode. command arguments: five response bytes: none command bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010010 arg1 00000000 arg2 prop h [7:0] arg3 prop l [7:0] arg4 propd h [7:0] arg5 propd l [7:0] arg bit name function 1 7:0 reserved always write to 0. 27:0 prop h property high byte. this byte in combination with prop l is used to specify the property to modify 37:0 prop l property low byte. this byte in combination with prop h is used to specify the property to modify 47:0propd h property value high byte. this byte in combination with propd l is used to specify the property to modify 57:0propd l property value low byte. this byte in combination with propd h is used to specify the property to modify
AN610 rev. 0.3 47 command 0x13. get_property gets a property as shown in table 10, ?am/sw receiver command summary,? on page 34. the cts bit is set when it is safe to send the next command. this command may only be sent when in power up mode. command arguments: three response bytes: three command response bit d7 d6 d5 d4 d3 d2 d1 d0 cmd 00010011 arg1 00000000 arg2 prop h [7:0] arg3 prop l [7:0] arg bit name function 1 7:0 reserved always write to 0. 27:0 prop h property high byte. this byte in combination with prop l is used to specify the property to get 37:0 prop l property low byte. this byte in combination with prop h is used to specify the property to get bit d7 d6d5d4d3d2d1d0 status cts err reserved resp1 0 00000 00 resp2 propd h [7:0] resp3 propd l [7:0] resp bit name function 1 7:0 reserved always write to 0. 27:0propd h property value high byte. this byte in combination with propd l represents the requested property value. 37:0propd l property value low byte. this byte in combination with propd h represents the requested property value.
AN610 48 rev. 0.3 7.2.2. am/sw receiver properties property 0x0201. refclk_freq sets the frequency of the refclk from the output of the prescaler. the refclk range is 31130 to 34406 hz (32768 5% hz) in 1 hz steps, or 0 (to disable afc). fo r example, an reference clock at xtali pin of 13 mhz would require a prescaler value of 400 to divide it to 32500 hz refclk. the reference clock frequency property would then need to be set to 32500 hz. reference clock frequencies between 31130 hz and 40 mhz are supported, however, there are gaps in frequency coverage for prescaler values ranging from 1 to 10, or frequencies up to 311300 hz. the following table summarizes these reference clock gaps. figure 7. refclk prescaler the rclk must be valid 10 ns before resetting and be va lid at all times for proper tuning and afc operations. xtali reference clock input frequency could be changed but is not recommended and refclk properties values need to be reconfigured accordingly. the cts bit (and opti onal interrupt) is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 32768 hz. default: 0x8000 (32768) units: 1 hz step: 1 hz range: 31130-34406 table 14. xtli reference clock frequency gaps prescaler xtali low (hz) xtali high (hz) 1 31130 34406 2 62260 68812 3 93390 103218 4 124520 137624 5 155650 172030 6 186780 206436 7 217910 240842 8 249040 275248 9 280170 309654 10 311300 344060 bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name refclkf[15:0] bit name function 15:2 refclkf[15:0] frequency of reference clock in hz. the allowed refclk frequency range is between 31130 and 34406 hz (327685%), or 0 (to disable afc).
AN610 rev. 0.3 49 property 0x0202. refclk_prescale sets the number used by the prescaler to divide the external reference clock frequency down to the internal refclk. the range may be between 1 and 4095 in 1 unit steps. for example, an xtali reference clock of 13 mhz would require a prescaler value of 400 to divide it to 3250 hz. the reference clock frequency property would then need to be set to 32500 hz. the reference clock must be valid 10 ns before the chip reset signal. in addition, the reference clock must be valid at all times fo r proper tuning and afc operations. xtali reference clock input frequency could be changed but is not recomm ended and refclk properties values need to be reconfigured accordingly. the cts bit (and optional interrupt ) is set when it is safe to send the next command. this property may only be set or read when in powerup mode. the default is 1. default: 0x0001 step: 1 range: 1-4095. property 0x4000. rx_volume sets the audio output volume. the cts bi t is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 63. default: 0x003f step: 1 range: 0?63 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000rclk sel refclk[11:0] bit name function 15:13 reserved always write to 0. 12 rclksel rclksel. 0 = rclk pin is clock source. 1 = reserved 11:0 refclkp[11:0] prescaler for reference clock. integer number used to divide clock frequency down to refclk frequency. the allowed refclk frequency range is between 31130 and 34406 hz (32768 5%), or 0 (to disable afc). bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0000000000 vol[5:0] bit name function 15:6 reserved always write to 0. 5:0 vol output volume. sets the output volume level
AN610 50 rev. 0.3 property 0x4001. rx_hard_mute mutes the audio output. l and r audio outputs may be muted independently. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is unmute (0x0000). default: 0x0000 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 name 000000000 00000lmu te rmu te bit name function 15:2 reserved always write to 0. 1lmute left mute. mutes l audio output. 0rmute right mute. mutes r audio output.
AN610 rev. 0.3 51 property 0x4002. rx_bass_treble sets the audio output bass/treble effect. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 3. unlike the fm bass/treble effect, the am/sw bass/treble effect is achieved by se tting different channel filters, i.e., narrow or wide, to allow less or more high frequency audio components to the user. thus the actual maximum volume level is unaffected by the bass/treble level set. default: 0x0003 step: 1 range: 1?7 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0 0 0 0 0 0 00000 basstreble[4:0] bit name function 15:5 reserved always write to 0. 4:0 basstreble bass/treble level sets the output bass/treble effect level: 1- 1.0 khz channel filter 2- 1.8 khz channel filter 3- 2.0 khz z channel filter (default) 4- 2.5 khz channel filter 5- 2.828 khz channel filter 6- 4.0 khz channel filter 7- 6.0 khz channel filter *note: : unlike fm, there are a total of seven different channel filters for am/sw mode and t hus there are only seven bass/ treble effects for am and sw.
AN610 52 rev. 0.3 property 0x4003. rx_actual_volume reads only what reflects the actual digital audio output volu me in use. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default is 63. default: 0x003f step: 1 range: 0?63 property 0x3300. am_soft_mute_rate sets the attack and decay rates when entering or leaving soft mute. the value specified is multiplied by 4.35 db/s to come up with the actual attack rate. the cts bit is se t when it is safe to send the next command. this property may only be set or read when in power up mode. the default rate is 278 db/s. default: 0x0040 actual rate: smrate x 4.35 units: db/s step: 1 range: 1?255 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name 0 0 0 0 0 0 0 0 0 0 act_vol[5:0] bit name function 15:6 reserved always write to 0. 5:0 act_vol actual volume. actual volume ranges from 0~63 bit d15d14d13d12d11d10d9d8d7d6d5d4d3d2 d1 d0 name smrate[15:0] bit name function 15:0 smrate am soft mute rate. determines how quickly the am goes into soft mute when soft mute is enabled. the actual rate is calculated by taking the value written to the field and multiplying it with 4.35 db/s. the def ault rate is 278 db/s (smrate[15:0] = 0x0040).
AN610 rev. 0.3 53 property 0x3301. am_soft_mute_slope configures attenuation slope during soft mute in db attenuation per db snr below the soft mute snr threshold. soft mute attenuation is the minimum of smsl ope x (smthr ? snr) and smattn. the recommended smslope value is ceiling(smattn/smthr) . smattn and smthr are set via the am_soft_mute_max_attenuation and am_soft_mu te_snr_threshold properties. the cts bit is set when it is safe to send the next command. this pro perty may only be set or read when in power up mode. the default slope is 2 db/db. default: 0x0001 units: db/db range: 1?5 property 0x3302. am_soft_mute_max_attenuation sets maximum attenuation during soft mute (db). set to 0 to disable soft mute. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default attenuation is 16 db. default: 0x0010 units: db step: 1 range: 0?63 bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name 0 0 0 0 0 0 000000 smslope[3:0] bit name function 15:4 reserved always write to 0. 3:0 smslope am slope mute attenuation slope. set soft mute attenuation slope in db attenuation per db snr below the soft mute snr threshold. bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name 0 0 0 0 0 0 0000 smattn[5:0] bit name function 15:6 reserved always write to 0. 5:0 smattn am soft mute max attenuation. maximum attenuation to apply when in soft mute. specified in units of db. default maximum attenuation is 16 db.
AN610 54 rev. 0.3 property 0x3303. am_soft_mute_snr_threshold sets the snr threshold to engage soft mute. whenever th e snr for a tuned frequency drops below this threshold the am reception will go in soft mute, pr ovided soft mute max atte nuation property is non- zero. the cts bit is set when it is safe to send the next command. this property may only be set or read when in power up mode. the default snr threshold is 8. default: 0x0008 units: db step: 1 range: 0?63 bit d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 name 0 0 0 0 0 0 0000 smthr[5:0] bit name function 15:6 reserved always write to 0. 5:0 smthr am soft mute snr threshold. the snr threshold for a tuned frequency below which soft mute is engaged provided the value written to th e am_soft_mute_max_attenuation property is not zero. default snr threshold is 8 db.
AN610 rev. 0.3 55 8. control interface unlike the si47xx dtdd devices, the atdd devices support only the 2-wire bus mode interface. to enable the 2- wire bus mode interface, the irq pin must keep low during reset and keep at least 500 s after the rising edge of reset. the irq pin includes a 45 k ? internal pull-down resistor; therefore, l eaving this pin floating is acceptable, but do not pull-up this pin externally. (neither with external pull-up resistor nor pull-up option of the system controller pin connecting to irq). when the radio function is not required, the system controller is advised to se t the rstb pin low to place the device in reset mode. in reset mode, all circuitry is disabled including the devi ce control interface; re gisters are set to their default settings, and the control bus is disabled. to enable the radio function, the system controller is required to release the rstb pin from low to high. unlike the si47xx dtdd device, the atdd device boots autonomously and comes to an active waiting state instead staying at power down mode and waiting for power_up command from the system controller. only two commands are accepted in this active waiting state: 1. atdd_power_up command 0xe1 2. atdd_get_state command 0xe0 the device comes out of the active waiting state when the atdd_power_up command is written to the command register. once in power up mode, the device accepts additional commands, such as getting status to update the tune frequenc y display and the setting of properties, su ch as bass/treble level. the device will not accept other commands while in the active waiting state 8.1. 2-wire bus mode control interface figures 8 and 9 show the 2-wire bus mode control interface read and write timing parameters and diagrams, respectively. refer to the si484x da ta sheet for timing parameter values. figure 8. 2-wire control interface read and write timing parameters
AN610 56 rev. 0.3 figure 9. 2-wire control interface read and write timing diagram the 2-wire bus mode uses only the sclk and sdio pi ns for signaling. a transaction begins with the start condition, which occurs when sdio fa lls while sclk is high. next, the syst em controller drives an 8-bit control word serially on sdio, which is captured by the device on rising edges of sclk. the control word consists of a seven-bit device address followed by a read/write bit (rea d = 1, write = 0). the device acknowledges the control word by driving sdio low on the next falling edge of sclk. the seven-bit device address of the atdd device is fi xed to 0010001b. unlike the si47xx dtdd devices, the device address is non-configurable. for write operations, the system controller next sends a data byte on sdio, which is captured by the device on rising edges of sclk. the device acknowledges each data byte by driving sdio low for one cycle on the next falling edge of sclk. the system controlle r may write up to 8 data bytes in a single 2-wire transa ction. the first byte is a command, and the next seven bytes are argument s. writing more than 8 bytes results in unpredictable device behavior. for read operations, after the device ha s acknowledged the control byte, it will drive an eight-bit data byte on sdio, changing the state of sdio on the falling edges of sclk. the system co ntroller acknowledges each data byte by driving sdio low for one cycle on the next falling edge of sclk. if a data by te is not acknowledged by the system controller, the transaction will end. the system controller may read up to 16 data bytes in a single 2-wire transaction. these bytes contain the status byte and response data from the device. a 2-wire transaction ends with the stop condition, which occurs when sdio rises while sclk is high. table 15 demonstrates the command and response procedur e implemented in the system controller to use the 2- wire bus mode. in this example the atdd_power_up command is demonstrated. table 15. command and response procedure 2-wire bus mode action data description cmd arg1 arg2 arg3 arg4 arg5 arg6 status 0xe1 0x80 0x22 0x60 0x2a 0x30 0x0a ? 0x80 atdd_power_up band index = 0 (i.e., fm1), enable crystal, typica l crystal waiting time set band bottom frequency to 88 mhz e.g. 0x2260 ? 8800 (in 10 khz unit) set band top frequency to 108 mhz e.g. 0x2a30 ? 10800 (in 10 khz unit) set channel spacing to 100 khz (10 khz unit) reply status. clear-to-send high
AN610 rev. 0.3 57 to send the atdd_power_up command and arguments, the system controller sends the start condition, followed by the 8-bit control word, which consists of a se ven-bit device address (0010001b) and the write bit (0b) indicated by addr+w = 00100010b = 0x22. the device ac knowledges the control word by setting sdio = 0, indicated by ack = 0. the system controller then sends the cmd byte, 0xe1, and again the device acknowledges by setting ack = 0. the system controller and device repeat this process for the arg1, arg2, arg3, arg4, arg5, and arg6 bytes. commands may take up to seven ar gument bytes, and this flexibility should be designed into the 2-wire bus mode implementation. alternatively, all seven argument bytes may be sent for all commands, but unusual arguments must be 0x00. unpredictable device behavior will resu lt if more than seven arguments are sent. to read the status and response from the device, the system controller sends the start condition, followed by the eight-bit control word, which consists of the seven bit devi ce address and the read bit (1b) (i.e., the write control word is addr+r = 00100011b = 0x23). the device ackno wledges the control word by setting ack = 0. next the system controller reads the status byte. in this example, t he status byte is 0x00, indicating that the cts bit, bit 8, has not been set. the response bytes are not ready for reading and that the device is not ready to accept another command. the system controller sets sdio = 1, indi cated by nack = 1, to signal to the device the 2-wire transfer will end. the system controller should set the stop condition. this process is repeated until the status byte indicates that cts bit is set, 0x80 in this example. when the status byte returns cts bit set, 0x80 in th is example, the system cont roller may read the response bytes from the device. the controller se ts ack = 0 to indicate to the device that additional bytes will be read. the resp1 byte is read by the s ystem controller, followed by the system controller setting ac k = 0. this is repeated for resp2. resp3 is read by the system co ntroller followed by the sys tem controller setting nack = 1, indicating that resp3 is the last byte to be read. t he system controller then sets the st op condition. responses may be up to 15 bytes in length (r esp1?resp15) depending on the co mmand. it is acceptable to read all 15 response bytes. however, unused response bytes return random data and must be ignored. note that the atdd_power_up command returns only the status byte and response bytes are shown only for completeness. start addr+w ack cmd ack arg1 ack ? arg6 ack stop start 0x22 00xe1 00x080 0 ? 0x0a 0stop start addr+r ack status nack stop start 0x23 0 0x00 1 stop start addr+r status ack resp1 ack resp2 ack resp3 nack stop start 0x23 0x80 0 0x00 0 0x00 0 0x00 1 stop
AN610 58 rev. 0.3 9. powerup this section describes the procedure for booting the atdd device to move it from power off mode (reset state) to the power up mode. the first and most common procedure is a boot from internal device memory. to power up the device: 1. supply vdd and vio while keeping the rstb = 0. the minimum vdd and vio rise time is 25 s, and vdd and vio must be stable 250 s before setting rstb = 1. power supplies may be sequenced in any order. rstb is in the vio supply domain and therefore rstb = 0 must be maintained before vio is supplied. 2. set rstb = 1. 3. wait till irq pin goes high and write at dd_power_up command to the command register. 4. the atdd_power_up command instructs the device to boot from internal memory and load the corresponding fm or am/sw function to the given band index specified in the command argument. after cts = 1, the device is ready to commence norma l operation and accept additional commands. 5. provide rclk. note that the rclk buffer is in the vio supply domain and may therefore be supplied at any time after vio is supplied. figure 10. device powerup timing ?
AN610 rev. 0.3 59 10. powerdown the procedure for moving the atdd device from power up to power down (reset state) modes requires writing the power_down command. to power down the device and remove vdd and vio (optional): 1. set rclk = 0 (optional). 2. write power_down to the command register. note that all register contents will be lost. 3. set rstb = 0. note that rstb must be held high for 10 ns after the completion of the power_down command. 4. remove vdd (optional). 5. remove vio (optional). note that vio must not be removed without removing vdd. unexpected device operation may result. figure 11. powerdown timing table 16. using the power_down command action data description cmd 0x11 power_down status ? 0x80 reply status. clear-to-send high ?
AN610 60 rev. 0.3 11. programming example this section contains the programming examples for ea ch of the functions, fm receive and am/sw receive. before each example, an overview of how to program the device is show n as a flowchart. silicon labs also provides the actual software (example code), which can be downloaded from mysilabs.com. the following flowchart is an overview of how to program the fm and am/sw receivers:
AN610 rev. 0.3 61 figure 12a. fm and am/sw receiver programming example flowchart reset irq? no reset status atdd_get_status infordy? (rsp0.4) update band index tuner detect band?(rsp.0) save frequency,station indicator and stereo indicator ready status no yes no yes initial band index require reset tuner? yes no
AN610 62 rev. 0.3 figure 12b. fm and am/sw receiver programming example flowchart require power up tuner? ready status? display end no yes atdd_power_up use crystal load xosen load band index tuner default? load band top, band bottom and channel spacing yes no wait 100 ms power up status no yes no yes
AN610 rev. 0.3 63 figure 9c. fm and am/sw receiver programming example flowchart fm band? sw band atdd_set_volume set_bass_treble tuner defaut? atdd_audio_mode blend_mono (si484x only) blend_stereo (si484x only) blend_separation (si484x only) de-emphasis atdd_audio_mode dig volume mode? bass/treble mode ? set_bass_treble atdd_set_volume end set soft mute rate set soft mute slop set soft mute max attenuation set soft mute snr threshold no no yes yes yes no no yes yes no
AN610 64 rev. 0.3 11.1. programming exampl e for the fm receiver table 17 provides an example for the fm receiver. the table is broken into three columns. the first column lists the action taking place: command (cmd), argument (arg), status (status) or response (resp). for set_property commands, the property (prop) and prope rty data (propd) are indicated. the second column lists the data byte or bytes in hexadecimal that are being sent or received. an arrow preceding the data indicates data being sent from the device to the system controller. the third column describes the action. in some cases the default properties may be acceptable and no modification is necessary. refer to section ?7. commands and properties? for the full description of each command and property. table 17. programming example for the fm receiver action data description power up in analog mode cmd arg1 arg2 arg3 arg4 arg5 arg6 status 0xe1 0xc0 0x22 0x60 0x2a 0x30 0x0a ? 0x80 atdd_power_up band index = 0 (i.e., fm1), enable crystal, typica l crystal waiting time set band bottom frequency to 88 mhz e.g. 0x2260 ? 8800 (in 10 khz unit) set band top frequency to 108 mhz e.g. 0x2a30 ? 10800 (in 10 khz unit) set channel spacing to 100 khz (10 khz unit) reply status. clear-to-send high configurations cmd arg1 status 0xe2 0x00 ? 0x80 atdd_audio_mode set audio mode to digital volume mode adjpt_steo: adj. points enable stereo adjpt_attn: adj. points audio attenuated fm_mono: set stereo audio output (si484x only) reply status. cts: clear-to-send high audiomode: current mode is 0 adjpt_steo: adj. points enable stereo adjpt_attn: adj. points audio attenuated fm_mono: stereo audio output (si484x only) cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x40 0x00 0x00 0x3f ? 0x80 set_property rx_volume output volume = 63 reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x11 0x00 0x00 0x01 ? 0x80 set_property fm_deemphasis 50 s reply status. clear-to-send high.
AN610 rev. 0.3 65 cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x40 0x02 0x00 0x04 ? 0x80 set_property rx_bass_treble bass/treble level = 4 (normal) reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x18 0x00 0x00 0x31 ? 0x80 set_property (si484x only) fm_blend_rssi_stereo_threshold threshold = 49 dbv = 0x0031 reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x18 0x01 0x00 0x1e ? 0x80 set_property (si484x only) fm_blend_rssi_mono_threshold threshold = 30 db v = 0x001e reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x13 0x02 0x00 0x0a ? 0x80 set_property fm_soft_mute_max_attenuation attenuation = 10 db = 0x000a reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x13 0x03 0x00 0x06 ? 0x80 set_property fm_soft_mute_snr_threshold threshold = 6 db = 0x0006 reply status. clear-to-send high. status display (wait for atdd device irq) table 17. programming example for the fm receiver (continued) action data description
AN610 66 rev. 0.3 the device sets the cts bit to indicate that it is ready to accept the next command. the cts bit also indicates that the atdd_power_up, get_rev, power_down, and get_property commands have completed execution. cmd status resp1 resp2 resp3 0xe0 ? 0xac ? 0x00 ? 0x09 ? 0x81 atdd_get_status reply status: cts: clear-to-send high hostrest: host reset not needed hostpwrup: host power up not needed infordy: information ready station: station qualified stereo: stereo on (si484x only) bcfg: atdd device detects band bandmode: fm band mode detected bandidx: band index detected = fm1(0) chfreq: channel frequency = 98.1 mhz power down cmd status 0x11 ? 0x81 power_down reply status. clear-to-send high. table 17. programming example for the fm receiver (continued) action data description
AN610 rev. 0.3 67 11.2. programming exampl e for the am/sw receiver table 18 provides a programming example for the am/sw re ceiver. the table is broken into three columns. the first column lists the action taking place: command (cmd), argu ment (arg), status (sta tus) or resp onse (resp). for set_property commands, the property (prop) and property data (propd) are indicated. the second column lists the data byte or bytes in hexadecimal that are being sent or received. an arrow preceding the data indicates data being sent from the device to the system controller. the third column describes the action. in some cases, the default properties may be acceptable and no modification is necessary. refer to ?7. commands and properties? for a full description of each command and property. table 18. programming example for the am/sw receiver action data description power up in analog mode cmd arg1 arg2 arg3 arg4 arg5 arg6 status 0xe1 0x94 0x00 0x00 0x00 0x00 0x0a ? 0x80 atdd_power_up band index = 20 (i.e., am1), enable crystal, typical crystal waiting time keep default band bottom frequency keep default band top frequency set channel spacing to 10 khz reply status. clear-to-send high configurations cmd arg1 status 0xe2 0x08 ? 0x88 atdd_audio_mode set swadj_attn=1 {-0, -0, -0} db for sw audio profile reply status cts: clear-to-send high swadj_attn=1 cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x40 0x02 0x00 0x06 ? 0x80 set_property rx_bass_treble bass/treble level = 6 (4 khz channel filter) reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x40 0x00 0x00 0x3f ? 0x80 set_property rx_volume output volume = 63 reply status. clear-to-send high.
AN610 68 rev. 0.3 the device sets the cts bit to indicate that it is ready to accept the next command. the cts bit also indicates that the atdd_power_up, get_rev, power_down, and get_property commands have completed execution. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x33 0x02 0x00 0x0a ? 0x80 set_property am_soft_mute_max_attenu- ation 10 db attenuation = 0x0a reply status. clear-to-send high. cmd arg1 arg2 (prop) arg3 (prop) arg4 (propd) arg5 (propd) status 0x12 0x00 0x33 0x03 0x00 0x09 ? 0x80 set_property am_soft_mute_snr_thresh- old 9db = 0x09 reply status. clear-to-send high. status display (wait for atdd device irq) cmd status resp1 resp2 resp3 0xe0 ? 0xa9 ? 0x54 ? 0x10 ? 0x00 atdd_get_status reply status: cts: clear-to-send high hostrest: host reset not needed hostpwrup: host power up not needed infordy: info rmation ready station: station qualified stereo: (not app licable for am) bcfg: atdd device detects band bandmode: am band mode detected bandidx: band index detected = am1(20) chfreq: channel frequency = 1000 khz power down cmd status 0x11 ? 0x81 power_down reply status. clear-to-send high. table 18. programming example for the am/sw receiver (continued) action data description
AN610 rev. 0.3 69 11.3. band switching between two am bands with different channel spacing for order si48422/26/40/44a atdd part s, when band switching between two am bands with similar band bottom/ top frequencies but with different channel spacing, the frequency display may not be updated after the band is switched. however, the display will be updated with any subsequent tuni ng after the band switching. this inconsistency can be comp letely eliminated with the host mcu firmware. the atdd device has four possible application circuit co nfigurations depending on whether (1) the host mcu or tuner selects the band and (2) whether the mcu sets the band properties or the default band properties are used. the following describes the ways for the host mcu firm ware to handle the band switching case between two or more am bands for each of the circuit configurations: 1. host mcu selects radio band and sets band properties for customers using this configuration, the host m cu is required to specify the am channel spacing associated with the atdd_power_up command sent. 2. host mcu selects default band and uses default band properties for customers using this configuration, the host mcu is re quired to reset the tuner ic first, wait for it to be ready, and then re-power up the tuner ic when switching from one am band to another. 3. tuner slide switch selects band and mcu re-defines band properties for customers using this configuration, when the host mcu receives an irq from tuner and the reply from the atdd_get_status command is requesting to po wer up another am band (i.e., status byte hostpwrup bit is set, rsp1 byte bandmode is still am, and bandidx is another am band), the host mcu is required to specify the am channel spacing associated with the atdd_power_up command sent. 4. tuner slide switch selects band and uses default band properties for customers using this configuration, when the host mcu receives an irq from tuner and the reply from the atdd_get_status command is requesting to po wer up another am band (i.e., status byte hostpwrup bit is set, rsp1 byte bandmode is still am, and bandidx is another am band), the host mcu is required to reset the tuner ic first, wait fo r it to be ready, and then re-power up the tuner ic. *note: refer to ?an602: si4822/26/27/40/44 ante nna, schematic, layout, and design guidelines? for details on si4822/26/27/ 40/44 application circuit configurations.
AN610 70 rev. 0.3 d ocument c hange l ist revision 0.1 to revision 0.2 ?? added si4822/26 fm/am/sw mono receiver support. ?? added note for proper host power up i 2 c speed requirement. revision 0.2 to revision 0.3 ?? added si4827/44b fm/am/sw receiver support. ?? pre-defined band table 50 s/75 s fm de- emphasis definition correction. ?? updated note for host power up i 2 c clock speed > 10 khz. ?? add support of new properties 0x0201 and 0x0202 reference clock frequency settings. ?? added notes for wide fm bands, wide sw bands, universal am band and china tv audio channel new features.
disclaimer silicon laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the silicon laboratories products. characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "typical" parameters provided can and do vary in different applications. application examples described herein are for illustrative purposes only. silicon laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. silicon laboratories shall have no liability for the consequences of use of the information supplied herein. this document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. the products must not be used within any life support system without the specific written consent of silicon laboratories. a "life support system" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. silicon laboratories products are generally not intended for military applications. silicon laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. trademark information silicon laboratories inc., silicon laboratories, silicon labs, silabs and the silicon labs logo, cmems?, efm, efm32, efr, energy micro, energy micro logo and combinations thereof, "the world?s most energy friendly microcontrollers", ember?, ezlink?, ezmac?, ezradio?, ezradiopro?, dspll?, isomodem ?, precision32?, proslic?, siphy?, usbxpress? and others are trademarks or registered trademarks of silicon laboratories inc. arm, cortex, cortex-m3 and thumb are trademarks or registered trademarks of arm holdings. keil is a registered trademark of arm limited. all other products or brand names mentioned herein are trademarks of their respective holders. http://www.silabs.com silicon laboratories inc. 400 west cesar chavez austin, tx 78701 usa smart. connected. energy-friendly products www.silabs.com/products quality www.silabs.com/quality support and community community.silabs.com


▲Up To Search▲   

 
Price & Availability of AN610

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X